home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / cdropin1.arc / TESTFILE.C < prev    next >
Text File  |  1985-10-02  |  2KB  |  55 lines

  1.  
  2. /* testfile.c - file copy benchmark for Blaise Ctools2 */
  3. #include "stdio.h"
  4. #include "filehand.h"
  5.                 /* data type for 8088 address*/
  6. typedef struct { int r ; int s ; } ADS ; 
  7. char buffer[16384] ;        /* I/O area */
  8.  
  9. main(argc,argv)
  10.  int argc ;
  11.  char *argv[] ;
  12.  {
  13.     int    in ,
  14.            out ;
  15.     long n ;
  16.     int ercode , ercode2 ;
  17.     unsigned nr , nw , c ;
  18.     ADS bufads ;
  19.     unsigned cs,ss,ds,es ;
  20.  
  21.     utsreg(&cs,&ss,&ds,&es) ;    /* build segmented address for*/
  22.     bufads.r = (int) & buffer ;    /* I/O area */
  23.     bufads.s = (int) ds ;
  24.  
  25.     if( argc < 3 )
  26.       { printf("\n no file names \n");
  27.         exit(0);
  28.       }
  29.     printf("\n bytes to read \n");
  30.     scanf("%d",&nr);
  31.  
  32.     ercode = flopen(argv[1],&in,RDONLY); /* open files */
  33.     ercode2 = flcreate(argv[2],&out,WRTONLY);
  34.     if( (ercode != 0) || (ercode2 != 0) )
  35.       { printf("can't open a file %d   %d",ercode,ercode2);
  36.         exit(0) ;
  37.       }
  38.     n=0;
  39.     ercode = flread(in,& bufads,nr,&c) ; /* 1st read */
  40.     while( (ercode == 0) && (c > 0) ) /* repeat until EOF */
  41.       { n=n+c ;
  42.         ercode2 = flwrite(out,& bufads,c,&nw); /* write */
  43.         if( (ercode2 != 0) || (nw != c) )
  44.           { printf(" write error-code=%d nw=%u\n",ercode2,nw);
  45.             break ;
  46.           } 
  47.         ercode = flread(in,& bufads,nr,&c) ; /* read next */
  48.       } ;
  49.     printf("\n thru -  %ld chars\n",n);
  50.     printf(" ercode = %d \n",ercode) ;
  51.     ercode = flclose(in);
  52.     ercode2 = flclose(out);
  53.     printf("\n close error codes - %d %d\n",ercode,ercode2);
  54.  }
  55.